/**
 *
    算法描述：将所有的可能性加起来，看谁的和最大不就行了
    解决所需数据结构+算法：for循环 + 数组
**/
#include<iostream>
#include<cstring>
using namespace std;

int main() {
    int x, y, z, a[88], mx = 0, ans = 0;
    memset(a, 0, sizeof(a));
    cin >> x >> y >> z;
    for(int i=1; i<=x; i++)
        for(int j=1; j<=y; j++)
            for(int k=1; k<=z; k++)
                a[i+j+k]++;

    for(int i=3; i<88; i++)
        if(mx < a[i]) // 最先出现的数字，所以是 < 。如果说是最后出现的数字，则应该改成 <= 。
        { // mx记录值，i记录值对应的位置
            mx = a[i];
            ans = i;
        }
    cout << ans << endl;

    return 0;
}